// 这个是函数参数的解构使用默认值。
function move({ x = 0, y = 0 } = {}) {
    return [x, y];
}

move({ x: 3, y: 8 }); // [3, 8]
move({ x: 3 }); // [3, 0]
move({}); // [0, 0]
move(); // [0, 0]
// 函数第一步执行的是参数赋值即{ x = 0, y = 0 }={x: 3, y: 8}是参数进行使用默认值 *****




// 下面这串代码与上面得到的结果就不同了
function move({ x, y } = { x: 0, y: 0 }) {
    return [x, y];
}

move({ x: 3, y: 8 }); // [3, 8]
move({ x: 3 }); // [3, undefined]
move({}); // [undefined, undefined]
move(); // [0, 0]
//   传参是{}这一个整体传过去 用第二个例子{x, y}={x: 3} 所以才得到这个结果
//当没有参数传过去时，才会用到默认值，这里的参数是对象，所以最后一个没传参才用到默认值****

